```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>IPv4与IPv6：互联网协议的演进之路</title>
    <link href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <link href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            color: #333;
            line-height: 1.6;
        }
        h1, h2, h3, h4 {
            font-family: 'Noto Serif SC', serif;
            font-weight: 600;
        }
        .hero-gradient {
            background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
        }
        .card-hover {
            transition: all 0.3s ease;
        }
        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }
        .section-divider {
            height: 2px;
            background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0) 100%);
        }
        .first-letter {
            float: left;
            font-size: 3.5rem;
            line-height: 1;
            margin-right: 0.5rem;
            margin-bottom: -0.5rem;
            font-weight: 700;
            color: #2a5298;
        }
    </style>
</head>
<body class="bg-gray-50">
    <!-- Hero Section -->
    <section class="hero-gradient text-white py-20 px-4 md:px-0">
        <div class="container mx-auto max-w-4xl text-center">
            <div class="inline-block bg-white bg-opacity-20 rounded-full px-4 py-1 mb-4">
                <span class="text-sm font-medium">网络技术</span>
            </div>
            <h1 class="text-4xl md:text-5xl font-bold mb-6 leading-tight">IPv4与IPv6：互联网协议的演进之路</h1>
            <p class="text-xl md:text-2xl opacity-90 max-w-3xl mx-auto mb-8">探索互联网基础协议的发展历程与未来方向</p>
            <div class="flex justify-center space-x-4">
                <a href="#intro" class="bg-white text-blue-800 hover:bg-blue-50 px-6 py-3 rounded-full font-medium transition duration-300">开始阅读</a>
                <a href="#compare" class="border border-white text-white hover:bg-white hover:text-blue-800 px-6 py-3 rounded-full font-medium transition duration-300">直接对比</a>
            </div>
        </div>
    </section>

    <!-- Main Content -->
    <main class="container mx-auto px-4 md:px-0 max-w-4xl py-12">
        <!-- Introduction -->
        <section id="intro" class="mb-16">
            <div class="flex items-center mb-8">
                <h2 class="text-3xl font-bold text-gray-800">前言</h2>
                <div class="ml-4 bg-blue-100 text-blue-800 px-3 py-1 rounded-full text-sm font-medium">基础知识</div>
            </div>
            <div class="prose max-w-none">
                <p class="text-lg leading-relaxed mb-6">
                    <span class="first-letter">I</span>P协议（互联网协议）是互联网协议群（IPS）中最重要的通信协议之一，其主要用于网络设备（如计算机、电脑、单个网络或一系列互连网络的以太网交换机）数据包的寻址和路由选择，并负责将其从一个网络转发到另一个网络。目前IP协议具备IPv4和IPv6两个版本，相信很多人对它俩并不熟知，更加不清楚IPv4和IPv6有什么区别。
                </p>
            </div>
        </section>

        <!-- IPv4 Section -->
        <section class="mb-20">
            <div class="bg-white rounded-xl shadow-md overflow-hidden card-hover">
                <div class="md:flex">
                    <div class="md:flex-shrink-0 md:w-1/3">
                        <img class="h-full w-full object-cover" src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1651590042864-97098f52-58c1-4330-8b25-284b3d456f93.png" alt="IPv4地址示意图">
                    </div>
                    <div class="p-8 md:w-2/3">
                        <div class="flex items-center mb-4">
                            <h2 class="text-2xl font-bold text-gray-800">IPv4地址</h2>
                            <div class="ml-3 bg-yellow-100 text-yellow-800 px-2 py-1 rounded-full text-xs font-medium">传统标准</div>
                        </div>
                        <div class="prose">
                            <p>IPv4地址的概念是在1980年代初期提出的。即使有新版本的IP地址，IPv4地址仍然是Internet用户使用最广泛的地址。通常，IPv4地址以<strong>点分十进制</strong>表示。每个部分代表一组构成8位地址方案的8位地址。</p>
                            <p>IPv4地址组合的数量是有限的。总体而言，可以算出40亿<strong>（256 4）</strong>个唯一地址。在IPv4地址才开始时，这个数字似乎永远不会过期。但是，现在情况有所不同了。2011年，全球互联网编号分配机构（IANA）分发了IPv4地址空间的最后一块。2015年，IANA正式宣布美国已用完IPv4地址。直到今天，IPv4地址仍然承载着最多（超过90％）的互联网流量。</p>
                        </div>
                    </div>
                </div>
                <div class="px-8 pb-8">
                    <div class="bg-blue-50 rounded-lg p-6">
                        <h3 class="text-lg font-semibold text-blue-800 mb-3 flex items-center">
                            <i class="fas fa-info-circle mr-2"></i>IPv4地址耗尽问题
                        </h3>
                        <p>比如在一个家庭中，可能有多台手机需要上网，电脑，电视，盒子，各种智能设备等，发现在一个家庭中有很多的设备都需要联网，而每个设备都要有一个IP，按照这样下去是完全不够用的。</p>
                        <p class="mt-2">也有一些方法可以继续使用IPv4地址，就是我们常见的路由器，所有的联网设备都连接上路由器，此时分配的IP都是内网IP(一般都是192.168开头的)。但是这些联网的设备通过路由器转到外网的IP都是一样的。</p>
                    </div>
                </div>
            </div>
        </section>

        <!-- IPv6 Section -->
        <section class="mb-20">
            <div class="bg-white rounded-xl shadow-md overflow-hidden card-hover">
                <div class="md:flex flex-row-reverse">
                    <div class="md:flex-shrink-0 md:w-1/3">
                        <img class="h-full w-full object-cover" src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1651590223619-98ebe422-cf03-4117-9451-8bce1f597129.png" alt="IPv6地址示意图">
                    </div>
                    <div class="p-8 md:w-2/3">
                        <div class="flex items-center mb-4">
                            <h2 class="text-2xl font-bold text-gray-800">IPv6地址</h2>
                            <div class="ml-3 bg-green-100 text-green-800 px-2 py-1 rounded-full text-xs font-medium">未来标准</div>
                        </div>
                        <div class="prose">
                            <p>它是Internet协议的最新版本，但它是在1998年开发的，旨在替换IPv4地址。IPv6地址使用以冒号分隔的十六进制数字。它分为八个16位块，构成一个128位地址方案。</p>
                            <p>IPv6也存在数量限制。不过可用的IP数量远大于IPv4。从理论上讲，可以创建大约3.4×10 38个地址。这一数据听起来很高，远超于IPv4的总数40亿个，但是有一天也可能出现不够的情况。但就目前而言，这些地址将可以供我们使用很长一段时间。</p>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- Comparison Section -->
        <section id="compare" class="mb-20">
            <div class="text-center mb-12">
                <h2 class="text-3xl font-bold text-gray-800 mb-4">IPv4与IPv6之间的区别</h2>
                <p class="text-gray-600 max-w-2xl mx-auto">以下是两种协议在关键特性方面的对比</p>
            </div>
            
            <div class="grid md:grid-cols-2 gap-8 mb-12">
                <div class="bg-white p-6 rounded-xl shadow-md card-hover">
                    <h3 class="text-xl font-semibold mb-4 text-blue-800 flex items-center">
                        <i class="fas fa-network-wired mr-2"></i>地址类型
                    </h3>
                    <p>IPv4具有三种不同类型的地址：多播，广播和单播。IPv6还具有三种不同类型的地址：任意广播，单播和多播。</p>
                </div>
                <div class="bg-white p-6 rounded-xl shadow-md card-hover">
                    <h3 class="text-xl font-semibold mb-4 text-blue-800 flex items-center">
                        <i class="fas fa-database mr-2"></i>数据包大小
                    </h3>
                    <p>对于IPv4，最小数据包大小为576字节。对于IPv6，最小数据包大小为1208字节。</p>
                </div>
                <div class="bg-white p-6 rounded-xl shadow-md card-hover">
                    <h3 class="text-xl font-semibold mb-4 text-blue-800 flex items-center">
                        <i class="fas fa-layer-group mr-2"></i>header区域字段数
                    </h3>
                    <p>IPv4具有12个标头字段，而IPv6支持8个标头字段。</p>
                </div>
                <div class="bg-white p-6 rounded-xl shadow-md card-hover">
                    <h3 class="text-xl font-semibold mb-4 text-blue-800 flex items-center">
                        <i class="fas fa-sliders-h mr-2"></i>可选字段
                    </h3>
                    <p>IPv4具有可选字段，而IPv6没有。但是，IPv6具有扩展header，可以在将来扩展协议而不会影响主包结构。</p>
                </div>
                <div class="bg-white p-6 rounded-xl shadow-md card-hover">
                    <h3 class="text-xl font-semibold mb-4 text-blue-800 flex items-center">
                        <i class="fas fa-cog mr-2"></i>配置
                    </h3>
                    <p>在IPv4中，新装的系统必须配置好才能与其他系统通信。在IPv6中，配置是可选的，它允许根据所需功能进行选择。</p>
                </div>
                <div class="bg-white p-6 rounded-xl shadow-md card-hover">
                    <h3 class="text-xl font-semibold mb-4 text-blue-800 flex items-center">
                        <i class="fas fa-shield-alt mr-2"></i>安全性
                    </h3>
                    <p>在IPv4中，安全性主要取决于网站和应用程序。它不是针对安全性而开发的IP协议。而IPv6集成了Internet协议安全标准（IPSec）。IPv6的网络安全不像IPv4是可选项，IPv6里的网络安全项是强制性的。</p>
                </div>
            </div>

            <div class="bg-white rounded-xl shadow-md overflow-hidden mb-12">
                <img class="w-full" src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1651590425767-4b1773d2-4e2b-4c99-8b12-65b08ad33bdd.png" alt="IPv4与IPv6对比图">
            </div>
        </section>

        <!-- Requirements Section -->
        <section class="mb-20">
            <div class="bg-gray-50 rounded-xl p-8 border border-gray-200">
                <h2 class="text-2xl font-bold text-gray-800 mb-6 flex items-center">
                    <i class="fas fa-check-circle mr-3 text-green-600"></i>需要什么才能使用IPv6？
                </h2>
                <div class="grid md:grid-cols-3 gap-6">
                    <div class="bg-white p-5 rounded-lg shadow-sm border-l-4 border-blue-500">
                        <h3 class="font-semibold mb-2">操作系统兼容性</h3>
                        <p class="text-sm text-gray-600">Windows Vista和Windows的较新版本，Mac OS X的现代版本，以及Linux。</p>
                    </div>
                    <div class="bg-white p-5 rounded-lg shadow-sm border-l-4 border-green-500">
                        <h3 class="font-semibold mb-2">路由器支持</h3>
                        <p class="text-sm text-gray-600">大多数路由器不支持IPv6。如果您想尝试使用IPv6，请检查路由器的详细信息。</p>
                    </div>
                    <div class="bg-white p-5 rounded-lg shadow-sm border-l-4 border-purple-500">
                        <h3 class="font-semibold mb-2">ISP支持</h3>
                        <p class="text-sm text-gray-600">Internet服务提供商（ISP）也必须支持IPv6。即使您具有合适的操作系统和路由器，您的ISP也必须提供IPv6连接。</p>
                    </div>
                </div>
            </div>
        </section>

        <!-- Summary Section -->
        <section class="mb-12">
            <div class="bg-gradient-to-r from-blue-600 to-blue-800 text-white rounded-xl p-8">
                <h2 class="text-2xl font-bold mb-4">总结</h2>
                <p class="text-lg leading-relaxed">IPv6是IP地址的未来。但是，从IPv4过渡到IPv6的过程却是漫长而复杂的。如果您对使用IPv6地址感到好奇，建议将其用法与IPv4结合使用，因为大多数网站和应用程序仍仅支持IPv4地址。IPv4和IPv6使用的结合称为双重堆栈。</p>
            </div>
        </section>

        <!-- Visualization -->
        <section class="bg-white rounded-xl shadow-md p-6 mb-12">
            <h2 class="text-2xl font-bold text-gray-800 mb-6">协议演进关系图</h2>
            <div class="mermaid">
                graph TD
                    A[互联网协议发展] --> B[IPv4]
                    A --> C[IPv6]
                    B --> D[地址格式: 点分十进制]
                    B --> E[地址空间: 约40亿]
                    B --> F[广泛兼容]
                    C --> G[地址格式: 冒号分隔十六进制]
                    C --> H[地址空间: 3.4×10³⁸]
                    C --> I[安全性高]
                    B --> J[地址耗尽问题]
                    J --> K[解决方案: NAT, 双栈]
                    C --> K
            </div>
        </section>
    </main>

    <script>
        mermaid.initialize({
            startOnLoad: true,
            theme: 'default',
            flowchart: {
                useMaxWidth: true,
                htmlLabels: true,
                curve: 'basis'
            }
        });
    </script>
</body>
</html>
```